<?php

/**
 * Clase conexion
 * 
 * Maneja una sola conexion a una base de datos
 * @author fdelvalle
 */
class conexion {
  private $link = null;
  private $base = null;

  public function __get($parametro) {
    return $this->$parametro;
  }

  /**
   * Constructor
   * 
   * @param String $nombre_de_la_base nombre de la base a la cual se va a conectar
   */
  public function __construct($nombre_de_la_base) {
    $this->base = $nombre_de_la_base;
  }

  /**
  * Conecta a la base de datos
  * 
  * @param String $base nombre de la conexion (default: principal)
  */
  public function conectar() {
    $hosts = configManager::obtener("hosts");
   
    $this->conectarPorUsuario($hosts[$this->base.".host"],
        $hosts[$this->base.".usuario"],
        $hosts[$this->base.".password"],
        $hosts[$this->base.".base"]
    );
  }

  /**
   * Conecta a la base usando usuario y password
   * 
   * @param String $host direccion de la base
   * @param String $usuario usuario de la base
   * @param String $password password
   * @param String $base nombre de la conexion (default: principal)
   */
  private function conectarPorUsuario($host,$usuario,$password,$base) {
    $this->link = mysql_connect($host, $usuario, $password,$base);
    mysql_select_db($base,$this->link);
  }
  
   /**
   * Ejecuta una query
   * 
   * @param String $query Consulta SQL
   * @return queryResultset Resultado del query
   */
  public function ejecutar($query) {
    $rs_temp = mysql_query($query, $this->link);
    $rs = new queryResultset($rs_temp);
    return $rs;
  }
}
?>
